SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `tv_cable` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `tv_cable`;

-- -----------------------------------------------------
-- Table `tv_cable`.`mg_clientes`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_clientes` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `primer_nombre` VARCHAR(15) NOT NULL ,
  `segundo_nombre` VARCHAR(15) NULL ,
  `primer_apellido` VARCHAR(15) NOT NULL ,
  `segundo_apellido` VARCHAR(15) NULL ,
  `telefono_residencia` VARCHAR(8) NULL ,
  `telefono_celular` VARCHAR(9) NULL ,
  `mg_tipo_cliente_id` INT NOT NULL ,
  `mg_direccion_id` INT NULL ,
  `nombre_comercial` VARCHAR(45) NULL ,
  `referencias` TEXT NULL ,
  `telefono_oficina` VARCHAR(8) NULL ,
  `telefono_otro` VARCHAR(9) NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(20) NULL ,
  `modificado_por` VARCHAR(20) NULL ,
  `identidad` VARCHAR(20) NULL ,
  `fecha_nacimiento` DATE NULL ,
  `primer_nombre_representante_legal` VARCHAR(20) NULL ,
  `segundo_nombre_representante_legal` VARCHAR(20) NULL ,
  `primer_apellido_representante_legal` VARCHAR(20) NULL ,
  `segundo_apellido_representante_legal` VARCHAR(20) NULL ,
  `identidad_representante_legal` VARCHAR(20) NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_tipo_clientes`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_tipo_clientes` (
  `codigo_tipo_cliente` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`codigo_tipo_cliente`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_tipo_descuentos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_tipo_descuentos` (
  `codigo_tipo_descuento` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`codigo_tipo_descuento`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_paises`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_paises` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `descripcion` VARCHAR(25) NOT NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(20) NULL ,
  `modificado_por` VARCHAR(20) NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_departamentos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_departamentos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `descripcion` VARCHAR(25) NOT NULL ,
  `mg_pais_id` INT NOT NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(20) NULL ,
  `modificado_por` VARCHAR(20) NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `mg_departamento_pais` (`mg_pais_id` ASC) ,
  CONSTRAINT `mg_departamento_pais`
    FOREIGN KEY (`mg_pais_id` )
    REFERENCES `tv_cable`.`mg_paises` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_municipios`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_municipios` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `mg_pais_id` INT NULL ,
  `mg_departamento_id` INT NULL ,
  `descripcion` VARCHAR(45) NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(20) NULL ,
  `modificado_por` VARCHAR(20) NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `mg_municipio_departamento` (`mg_departamento_id` ASC) ,
  INDEX `mg_municipio_pais` (`mg_pais_id` ASC) ,
  CONSTRAINT `mg_municipio_departamento`
    FOREIGN KEY (`mg_departamento_id` )
    REFERENCES `tv_cable`.`mg_departamentos` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `mg_municipio_pais`
    FOREIGN KEY (`mg_pais_id` )
    REFERENCES `tv_cable`.`mg_paises` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_zonas`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_zonas` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_fecha_procesos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_fecha_procesos` (
  `codigo_fecha_proceso` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`codigo_fecha_proceso`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_documento_bancos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_documento_bancos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_descuentos_por_clientes`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_descuentos_por_clientes` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `mg_cliente_id` INT NOT NULL ,
  `mg_tipo_descuento_id` INT NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`tc_contratos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`tc_contratos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `mg_cliente_id` INT NOT NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(45) NULL ,
  `modificado_por` VARCHAR(45) NULL ,
  `numero_contrato` VARCHAR(20) NULL ,
  `fecha_ultimo_pago` DATE NULL ,
  `situacion` INT NULL ,
  `fecha_instalacion`  NULL ,
  `descripcion` TEXT NULL ,
  `cantidad_televisores` INT NULL ,
  `fecha_proximo_pago` DATE NULL ,
  `meses_en_mora` INT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `mg_clientes_id` (`mg_cliente_id` ASC) ,
  CONSTRAINT `mg_clientes_id`
    FOREIGN KEY (`mg_cliente_id` )
    REFERENCES `tv_cable`.`mg_clientes` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`in_contratos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`in_contratos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `mg_cliente_id` INT NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`tc_movimientos_historicos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`tc_movimientos_historicos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`in_movimientos_diarios`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`in_movimientos_diarios` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`in_movimientos_mensuales`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`in_movimientos_mensuales` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`in_movimientos_historicos`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`in_movimientos_historicos` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`tc_movimientos_mensuales`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`tc_movimientos_mensuales` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`tc_movimientos_diarios`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`tc_movimientos_diarios` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `tc_contrato_id` INT NULL ,
  `mg_tipo_transaccion_id` INT NULL ,
  `valor_transaccion` INT NULL ,
  `pago_mes_inicial` DATE NULL ,
  `pago_mes_final` DATE NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  `adicionado_por` VARCHAR(20) NULL ,
  `situacion` INT NULL ,
  `modificado_por` VARCHAR(20) NULL ,
  `mg_documento_banco_id` VARCHAR(45) NULL ,
  `total_descuento` INT NULL ,
  `descripcion` TEXT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `tc_contrato_id` (`tc_contrato_id` ASC, `id` ASC) ,
  CONSTRAINT `tc_contrato_id`
    FOREIGN KEY (`tc_contrato_id` , `id` )
    REFERENCES `tv_cable`.`tc_contratos` (`id` , `id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`tc_moras`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`tc_moras` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `tc_contrato_id` INT NULL ,
  `mes` INT NULL ,
  `año` INT NULL ,
  `estado` VARCHAR(2) NULL ,
  `modificado_por` VARCHAR(45) NULL ,
  `created` DATE NULL ,
  `modified` DATE NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `tc_moras_contrato` (`tc_contrato_id` ASC) ,
  CONSTRAINT `tc_moras_contrato`
    FOREIGN KEY (`tc_contrato_id` )
    REFERENCES `tv_cable`.`tc_contratos` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`in_moras`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`in_moras` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_tipo_transacciones`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_tipo_transacciones` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_vendedores`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_vendedores` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_usuarios`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_usuarios` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tv_cable`.`mg_tipo_usuarios`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `tv_cable`.`mg_tipo_usuarios` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
